#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
PDF处理库安装脚本
用于安装PyMuPDF或PyPDF2库以支持PDF页面拆分功能
"""

import os
import subprocess
import sys


def install_package(package_name):
    """安装Python包"""
    try:
        print(f"正在安装 {package_name}...")
        subprocess.check_call([sys.executable, "-m", "pip", "install", package_name])
        print(f"✓ {package_name} 安装成功")
        return True
    except subprocess.CalledProcessError as e:
        print(f"✗ {package_name} 安装失败: {e}")
        return False


def test_import(module_name, package_name):
    """测试模块导入"""
    try:
        __import__(module_name)
        print(f"✓ {package_name} 可以正常导入")
        return True
    except ImportError:
        print(f"✗ {package_name} 导入失败")
        return False


def main():
    """主函数"""
    print("=== PDF处理库安装脚本 ===")
    print("此脚本将尝试安装PDF处理库以支持页面拆分功能")
    print()

    # 检查当前环境
    print(f"Python版本: {sys.version}")
    print(f"当前工作目录: {os.getcwd()}")
    print()

    # 尝试安装PyMuPDF（推荐）
    print("1. 尝试安装PyMuPDF（推荐，功能更强大）...")
    if install_package("PyMuPDF"):
        if test_import("fitz", "PyMuPDF"):
            print("✓ PyMuPDF安装并测试成功！")
            print("您现在可以使用PDF页面拆分功能了。")
            return

    print()
    print("2. PyMuPDF安装失败，尝试安装PyPDF2（备用方案）...")
    if install_package("PyPDF2"):
        if test_import("PyPDF2", "PyPDF2"):
            print("✓ PyPDF2安装并测试成功！")
            print("您现在可以使用PDF页面拆分功能了。")
            return

    print()
    print("✗ 所有PDF处理库安装失败")
    print("请手动安装以下任一库：")
    print("  pip install PyMuPDF")
    print("  或")
    print("  pip install PyPDF2")
    print()
    print("如果安装仍然失败，可能需要：")
    print("1. 更新pip: python -m pip install --upgrade pip")
    print("2. 使用国内镜像: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple PyMuPDF")
    print("3. 检查网络连接和防火墙设置")


if __name__ == "__main__":
    main()
